The guide to
UDO
Release 6 Patchlevel 0
January 3rd 1997
by
Dirk Hagedorn
Asmecke 1
59846 Sundern
Germany
Internet: DirkHage@aol.com
MausNet: Dirk Hagedorn @ MK2
======================================================================
Contents
======================================================================
1 Introduction
1.1 Preface
1.2 What UDO can('t) do for you
1.3 Do you need UDO?
1.4 Once upon a time
1.5 Contact addresses
1.6 Thanks
2 Legal information
2.1 Copyright
2.2 Disclaimer
2.3 Trademarks
3 Money, money, money
3.1 Shareware
3.2 How much does UDO cost?
3.3 How much do upgrades cost?
3.4 Registration
3.5 Registration in Great Britain
4 Installation
4.1 Installing the Atari version
4.2 Installing the DOS version
4.3 Installing the Macintosh version
4.4 Installing the Unix versions
5 Usage
5.1 Command line version
5.2 GEM version
5.3 Macintosh version
5.4 UDO Shell for Windows
6 The syntax of UDO
6.1 A short example
6.2 Basics
6.3 Structuring
6.4 Emphasising text
6.5 Special characters
6.6 Syllabification
6.7 Images
6.8 Hypertext commands
6.9 Miscellaneous
7 Tips & tricks
7.1 Seven rules for writing UDO source files
7.2 General tips & tricks
7.3 Tips & tricks according to LaTeX
7.4 Tips & tricks according to ST-Guide
7.5 Tips & tricks concerning Windows Help
Appendix
========
A Frequently asked questions
A.1 General questions
A.2 Questions concerning ASCII
A.3 Questions concerning HTML
A.4 Questions concerning manpages
A.5 Questions concerning LaTeX
A.6 Questions concerning Linuxdoc-SGML
A.7 Questions concerning Pure C Help
A.8 Questions concerning the Rich Text Format
A.9 Questions concerning ST-Guide
A.10 Questions concerning Texinfo
A.11 Questions concerning Turbo Vision Help
A.12 Questions concerning Windows Help
B Bugs
C Error messages
D This & that
D.1 Facts, facts, facts
D.2 Programming environment
D.3 Generated files
E History
E.1 Last minute changes
E.2 Release 6
E.3 Release 5
E.4 Release 4
E.5 Release 3
F Command index
F.1 A...
F.2 B...
F.3 C...
F.4 D...
F.5 E...
F.6 F...
F.7 G...
F.8 H...
F.9 I...
F.10 L...
F.11 M...
F.12 N...
F.13 O...
F.14 P...
F.15 R...
F.16 S...
F.17 T...
F.18 U...
F.19 V...
F.20 W...
F.21 X...
F.22 *...
======================================================================
Chapter 1
Introduction
======================================================================
1.1 Preface
============
Welcome to UDO!
You are reading the revised documentation of the revised program
called UDO written by a quite overworked author that still is hoping
that anybody outside there understands his quite unrevised knowledge
of writing English documentations.
UDO is a powerful and multipurpose utility for making a documentation
or any other text file that is needed in one text format or more.
Though UDO is powerful it's quite easy to understand and to use.
If you take a look at the size of this documentation you will notice
immediately that UDO has to be quite powerful. Many users get deterred
of the size of this documentation and try to use UDO without having
read it. Unfortunately, exactly these people will ask lots of
questions later on without knowing that their questions could be
answered by simply reading this documentation.
Due to this fact I want to note at the beginning of this documentation
that you will only be able to use UDO in an efficient way if you read
the complete documentation one time at least and if you experiment
with the added examples.
Please take some time, sit down, take a cup of tea or coffee and read
this documentation from the beginning to the end. You don't have to
learn everything by heart but you should be able to find things
quickly if there will be questions later on.
If you will detect parts where things are described in a too short,
wrong or misleading way: please let me know! UDO is "my little child"
and it wouldn't be the first time that an author has forgotten to
describe some important parts.
And if you have any problems with my English: please let me know, too!
I did what I can but you without any doubts you will find some awful
parts.
Please note that UDO is Shareware. I have been spending a lot of my
spare time for this project. If you want to use UDO please register
for it.
I hope that UDO will become an unrenounceable utility for you and you
will have more time for the really important things.
Dirk Hagedorn
Sundern, December 10th 1996
1.2 What UDO can('t) do for you
================================
UDO has been originally developed to make it easier for you to write
software documentations or other kinds of text files that have to be
available in more than one format.
UDO can be a great help if you want to make a single destination
format, too. A beginner will have less problems when learning the UDO
syntax instead of learning LaTeX or HTML. So if you want to make LaTeX
or HTML files it should be easier to get to know how to make them
using UDO instead of writing them on your own. When writing LaTeX or
HTML files you have to keep attention not to use any of their special
command characters. In comparison to that UDO will convert these
special characters for you when converting the source file to LaTeX or
HTML. But this is not the only thing UDO can do for you.
UDO is a multilingual program. You can make German, English, French,
Italian and Swedish texts. UDO knows how "Table of contents",
"Appendix", "Figure" or "Table" is called in the other countries. The
date is also printed out in the right way depended of the selected
language.
The syntax of UDO is easy to learn. To make some small documentations
you just have to learn about ten to fifteen commands; as many as you
have to learn when you try to learn LaTeX or HTML.
When you have written an UDO source file you can convert it into the
following formats:
1. Apple QuickView
2. ASCII
3. HTML (Hypertext Markup Language)
4. LaTeX 2.09, LaTeX2e
5. Linuxdoc-SGML
6. LyX
7. Manualpage
8. NROFF
9. Pure C Help
10. RTF (Rich Text Format)
11. Source code (C and Pascal)
12. ST-Guide
13. Texinfo
14. Turbo Vision Help
15. Windows Help
As you can see some formats are just interesting for specific
operating systems, but you can also see that the list contains come
formats that can be used on nearly any existing operating system.
In most cases UDO doesn't make files that are ready to use because
have to run a further software to view, print or convert the document.
E.g. you have to convert the Windows Help source file (saved by UDO)
with the Microsoft Help Compiler HC.EXE into a Windows Help file. Or
you have to import the RTF file into a text processor to print it.
UDO tries to help the author of a documentation as much as possible.
Next to the conversion into the destination format UDO offers you the
following features:
ü automatically generated title pages, tables of contents, head
lines and bottom lines,
ü chapter numbering,
ü tables,
ü automatically generated hypertext links,
ü support for different text styles,
ü automatic conversion of umlauts and other special characters,
ü a large variety of layout commands for making lists, enumera-
tions, descriptions, justified text, centred or indented text or
text with a right alignment,
ü image support,
ü automatic line breaks with a half-automatic syllabification.
UDO is not the perfect program for all purposes. The conversion into
ASCII, ST-Guide, HTML, LaTeX and Windows Help is nearly perfect. Some
formats (like Linuxdoc-SGML and LyX) are quite young and haven't been
tested enough. You will surely find some aspects that have to be
changed in the near future.
There are some points that UDO can't manage yet but will be implemen-
ted in the very near future: a automatically generated index, list of
figures and list of tables. Just wait some months and you will get UDO
Release 7 with all these features.
To make complex files like newspapers that is impossible with UDO
because it can't wrap text around images and it can't generated files
with two or more text columns. In addition to that UDO hasn't got an
implemented automatic syllabification.
UDO is just a "one way" converter. UDO can't convert LaTeX, HTML or
RTF to the UDO format. It is only able to convert the UDO format into
LaTeX etc. Maybe there will be a HTML2UDO or SGML2UDO converter in the
near future.
To sum it up it can be said that UDO can't manage the following things
and won't be able to manage them in the future:
1. UDO can only convert its format into the upper standing formats.
UDO can't convert them into its own format. Maybe there will be
some other converters in the near future.
2. UDO can't make binary formats (like WinWord documents). It can
only make make formats that are based on ASCII.
3. UDO doesn't support an automatic syllabification. You have to
tell UDO explicitely where it is allowed to split up words. I
don't want to implement an automatic syllabification because
there are only some formats that would profit from it.
4. UDO can't wrap text around images. UDO can't save multi-columned
texts, too. These functions are part of desktop publishing and
not of a software like UDO.
1.3 Do you need UDO?
=====================
If you can answer one or more of the following question with "Yes" UDO
should be worth to take a look at. If can't answer any question with
"Yes" it's quite possible that you don't need UDO and that you can
stop reading this manual right here.
ü Have you written a text with a general contents and do you want
to let some people, that don't run the same operating system,
read it?
ü Are you a programmer and do you want to distribute your software
with an ASCII manual and an online manual for Windows, Turbo
Vision, GNU Info or ST-Guide?
ü Are you a programmer and do you want to print out the manual with
LaTeX or a text processor that can import the Rich Text Format?
ü Do you only need an ASCII manual but you always get rid of
checking the line breaks, chapter numbers and the table of
contents?
ü Do you want to publish a hypertext inside the World Wide Web but
you don't own a powerful HTML editor that can enter links,
convert special characters or split up the document into
different files automatically?
ü Do you want to make an online manual for a Windows software but
you don't want to pay a lot of money for a software that costs
more than 20 times the price of UDO but can do only a little bit
more?
ü Are you the author of a Pure C library for the Atari computers
and you need a descriptions of the library routines for Pure C
Help and ST-Guide?
Did you answer any question with "Yes"? Fine! You didn't? Then read
the questions once more. ;-)
1.4 Once upon a time
=====================
It was autumn 1994 when I wrote some little programs for which I
needed an ASCII manual, an online help and a printed documentation.
In all cases I began writing the ASCII manual. In a copy of it I
inserted hypertext commands. Finally the ASCII manual was imported
into a text processor, layouted and printed. It didn't take a long
time for me to recognize that this was an inefficient work: if there
were any changes in one of the files both the others had to be changed
in the same way. And if there were lots of changes it was necessary to
start the whole procedure right from the beginning.
When I finished these manuals I said to myself: "Oh no, Dirk, there
must be another and easier way to get different versions of one text
file!".
January 1995 I started to think about a new text format with the
project name "UDO" (as the abbreviation for Universal DOcument). The
UDO syntax should be easy to learn and flexible enough and so I
decided to create a syntax like LaTeX. Next to this I began writing
the software that was able to convert this new text format into ASCII,
ST-Guide and LaTeX: UDO was born!
At this time UDO was really a small program with only some features.
The syntax contained about 10 commands and the source code was about
10 KB large. Nevertheless this small hack was of a great help for
myself and the upper described horror scenario was history.
Since this time UDO has been growing up day by day. UDO now supports
many different text formats, it offers a large variety of layouting
commands, it's available for different operating system and the size
of its source code and documentation is now a hundred times larger
than it was in former days.
In these two years UDO has become to an operating system independent,
very powerful and - proverbially said - universal tool.
1.5 Contact addresses
======================
If you want to register UDO, if you want have questions, if you want
to make any suggestions or if you want to report bugs please use one
of the following addresses. If possible contact me via email.
Address: Dirk Hagedorn
Asmecke 1
59846 Sundern
Germany
Telephone/Fax: +49 2933 77979
MausNet: Dirk Hagedorn @ MK2 (no mails > 16 KB)
Internet: DirkHage@aol.com
World Wide Web: http://members.aol.com/DirkHage/www/index.htm
1.6 Thanks
===========
At this point I want to say "Thank you" to the following people
because of their effective help. Without this help UDO wouldn't be
like it is today.
Thank you
Denesh Bhabuta for supporting UDO in Great Britain
Alexander Clauss for compiling the HP-UX 300/400 version
Dirk Haun, one of the fathers of UDO
Patrick Jerchel for managing the mailing list
Peter Klasen, the first registered user of UDO
Martin Loos for managing the old mailing list
Martin Osieka for porting UDO to MacOS
Rainer Riedl for compiling the BeOS version
Tom Thomasson for supporting UDO in Sweden
In addition to that I want to thank all users of UDO for their
indefatigable efforts to make UDO better and better.
======================================================================
Chapter 2
Legal information
======================================================================
2.1 Copyright
==============
UDO and its documentation are copyrighted by Dirk Hagedorn, Sundern,
Germany.
UDO is distributed as shareware and may be copied to third persons in
a noncommercial way if all the following requirements are met:
ü You have to copy the software with all and unchanged files.
ü You have to copy the software free of charge. Uploading UDO to a
noncommercial BBS or FTP server is allowed.
ü You aren't allowed to add files to the archives e.g. advertise-
ments for a BBS or for Public Domain series. You aren't allowed
to rename the archives or to to compress them with another
archiver.
ü If you want to distribute UDO via Public Domain floppy discs you
may do this only if the price of a single floppy disc is lower
than 5 Pounds Sterling, 6 $US and 10 DM (or the same value in
another currency).
ü If you want to distribute UDO via CD-ROM you may do this only, if
I, Dirk Hagedorn, will get a copy of this CD-ROM free of charge
and the if the CD-ROM will be published before December 31st
1997. I want to avoid that old versions of UDO are still copied
even if there are out of date. If you read this text 1998 or
later please contact me to get to know if there's a younger
version existing!
2.2 Disclaimer
===============
Though UDO has been developed thoroughly and has been tested for a
long period of time there is no warranty for the program or the
contents of this documentation.
UDO is provided "as is" without warranty of any kind, including but
not limited to, the implied warranties of merchantability and fitness
for a particular purpose. The entire risk is with you. Should UDO
prove defective you assume the cost of all necessary servicing, repair
or correction.
Nevertheless the author will be glad if you send him bug reports.
2.3 Trademarks
===============
This documentation uses names of products and companies that may be
trademarks or registered trademarks. You may not conclude that these
names are free of use even if they are not marked explicitly.
Atari, TOS and MultiTOS are trademarks or registered trademarks of
Atari Corporation.
Arial and Times New Roman are registered trademarks of Monotype
Corporation PLC.
GEM and GEM Desktop are trademarks or registered trademarks of Digital
Research.
Mac, Macintosh and MacOS are registered trademarks of Apple Computer
Inc.
MS-DOS, Windows, Windows 95 and Windows NT are registered trademarks
of Microsoft Corporation.
Unix is a registered trademark of X/Open Company Ltd.
======================================================================
Chapter 3
Money, money, money
======================================================================
3.1 Shareware
==============
UDO is distributed as shareware. This means:
ü You are allowed to check for exactly four weeks if UDO meets your
requirements!
ü It's forbidden to publish any text you have made with UDO during
this trial period.
ü After the trial period of four weeks you have to decide whether
you want to buy UDO (see "Registration") or if you don't want to
use it. If you don't want to buy UDO you are obligated to delete
UDO and all its additional files from your hard disc. If you
don't you will work with a black copy of UDO!
If I will get less registrations than I expect I...
1. ...will increase the number of limitations (e.g. limited document
sizes, exchanged characters in the destination file or ugly speed
limitations), or I...
2. ...won't publish further versions of UDO and give them only to
registered users, or I...
3. ...will stop going on developing UDO.
That's no joke! In the past I was often disappointed due to the amount
of registrations I got for other software of mine. Please believe me
that I cannot laugh anymore about users that are too lazy to pay for
shareware.
In former versions UDO didn't have any limitations. But due to the
unsatisfying resonance from Unix and DOS users I implemented
limitations in all UDO versions:
1. UDO will print an ugly message at the end of every page.
2. The switch !use_about_udo is set automatically for all destina-
tion formats.
When you have paid the shareware fee you will get a personalised
keycode. With this keycode you will be able to disable these
limitations.
3.2 How much does UDO cost?
============================
You can believe me that I have thought very long about the price of
UDO. So please read this section until the end.
I don't want to tell you the price I would have to demand because it
is higher than an averaged user wants to pay for shareware nowadays.
But I think that the current price of UDO is a good compromise between
"dream and reality". I hope that it's fair enough for you and UDO is
worth paying this amount of money.
The height of the shareware fee depends on your status, whether you
want to use UDO for private, commercial or educational purposes:
The price for private users
===========================
The shareware fee for a systemwide licence of UDO for private users is
50 DM (35 $US, 25 Pounds Sterling, 40 SFR, 350 ÚS, 55 NFL, 150 FF).
You are a private user if you make documentations or other texts for
products that cost less than 100 DM (70 $US, 50 Pounds Sterling,
80 SFR, 700 ÚS, 110 NFL, 34 FF). Thus all authors that are programming
only freeware, public domain or shareware that cost less than 100 DM
are private users.
Private users have to pay the shareware only once. After the
registration private users are allowed to use UDO simultaneously on
any operating system UDO is available for.
If you recognize that you are a commercial user after having paid the
shareware fee for private users you are forced to pay the difference!
The price for commercial users
==============================
The shareware fee for a single licence of UDO for commercial users is
150 DM (100 $US, 75 Pounds Sterling, 120 SFR, 1050 ÚS, 165 NFL,
450 FF). "Single licence" means that UDO may only be installed on one
computer that isn't connected to any kind of network.
If you want to use UDO on several computers or in a network you have
to buy additional licences for any additional working places.
Additional licences costs 50 DM each (35 $US, 25 Pounds Sterling,
40 SFR, 350 ÚS, 55 NFL, 150 FF). You have to guarantee that the
maximum number of users of UDO cannot be higher than the amount of
licences you have bought.
If you need 20 or more licences you can ask me for a special price for
your specific needs.
A commercial user is who uses UDO for writing documentations or other
texts for one or more products that cost more than 100 DM (70 $US, 50
Pounds Sterling, 80 SFR, 700 ÚS, 110 NFL, 34 FF).
Companies, enterprises and other commercial oriented institutions that
use UDO for internal purposes are commercial users, too.
The price for schools and universities
======================================
I offer special prices for schools, universities and other educational
institutions. Please ask me for the price for the amount of needed
licences.
Please note:
1. All prices are inclusive value-added tax.
2. After having paid the shareware fee you will receive an invoice
and a personalized keycode. With this keycode you will be able to
disable the limitations of the shareware version.
3. If you think (like myself) that UDO is worth more than the upper
shown prices, don't hesitate to pay more.
A last request...
=================
Dear private users, if you want to use UDO without any twinges at your
working place, please try to convince your boss or any other superior
to buy one ore more licences of UDO.
The low price of UDO can be afforded by really every company and can
be completely depreciated.
Every additional income can help me to cover my costs payments for
books, compilers and telephone/modem calls. And you can believe me
that these costs aren't low due to the size of this project.
3.3 How much do upgrades cost?
===============================
You have to pay an upgrade fee for upgrading an old release to the
current one.
The height of this upgrade fee depends on which release you have
currently registered and if you are a private, commercial or
"educational" user. The following table shows the upgrade fees in
Deutsche Mark. The second table shows you the equivalent values in
your currency.
from to | Private | Commercial | Education
--------------------------+---------+------------+-----------
Release 3 Release 6 | 15 DM | 50/10 DM | --
Release 4 Release 6 | 10 DM | 30/10 DM | --
Rel. 5 (1996) Release 6 | 0 DM | 0 DM | 0 DM
Rel. 5 (1997) Release 6 | 10 DM | 50/10 DM | 50/10 DM
DM | $US | Pounds | sFR | ÎS | nFL FF
----+-----+--------+-----+-----+----------
10 | 7 | 5 | 13 | 70 | 11 30
15 | 10 | 8 | 20 | 105 | 17 45
30 | 20 | 15 | 40 | 210 | 34 60
50 | 35 | 25 | 65 | 350 | 56 150
If you have registered UDO Release 5 in 1996 you don't have to pay any
upgrade fee. The new keycodes will be sent to you on demand (email
preferred).
If you have registered UDO Release 5 in 1997 or later you will have to
pay the upgrade fees listed in the table in the row labelled "Rel. 5
(1997)".
The values in the columns for commercial and educational users are the
upgrade fees for the first licence (left value) and additional
licences (right value).
3.4 Registration
=================
The height of the shareware or upgrade fee depends on your status. How
much money you have to pay you will find in "How much does UDO cost?"
and "How much do upgrades cost?".
Users from Great Britain are recommended to register UDO via Denesh
Bhabuta. Users from Sweden are recommended to register UDO via Tom
Thomasson.
The appropriate amount of money can be paid by sending a cheque, a
Eurocheque or cash or by transferring the amount of money to my bank
account.
If you really want to risk to send cash please send Deutsche Mark and
insert a black piece of paper into the envelope so nobody can look
inside gets the idea to steal the letter.
Please send cheques, Eurocheques or cash to:
Dirk Hagedorn
Asmecke 1
59846 Sundern
Deutschland
If you prefer transferring the money to my bank account use these
data:
Account holder: Dirk Hagedorn
Account number: 3 561 164
Bank: Sparkasse Arnsberg-Sundern, Germany
Bank code: 466 500 05
In all cases please don't forget to send me
ü your name
ü your complete address
ü your email address (if available)
ü on which operating system(s) you want to use UDO
After having received the money I will send you a bill and a
personalized keycode. With the keycode you can disable the limitations
of the shareware version.
Services for registered users
-----------------------------
New releases of UDO are released two or three times per year at
maximum. Registered users are enabled to use current beta versions at
any time.
Because UDO is available for many operating systems and I don't have
so much time to compile new release every time I change some things,
new releases will be published only if the number of changes is high
enough.
For registered users after about two weeks updated versions are
published. In these version old bugs are fixed, new destination
formats are presented and wishes of registered users are considered if
they may be realised.
Registered users can download these updates via modem or FTP or they
can order them by sending a formated floppy disk with a readdressed
envelope and 2 DM for stamps.
It goes without saying that registered users will get gratis support
via via (e)mail. Questions of registered users will be answered as
detailed as possible.
3.5 Registration in Great Britain
==================================
It's recommended that British users register UDO via Denesh Bhabuta.
Users from outside Great Britain should register UDO directly via Dirk
Hagedorn.
The shareware fee depends on your status. How much money you have to
pay you will find in "How much does UDO cost?" or "How much do
upgrades cost?".
To register UDO via Denesh Bhabuta please send a cheque or postal
order for the appropriate amount made payable to "Denesh Bhabuta".
Denesh also accepts Eurocheques and International Money Orders made
payable to him. Send this along with your full address, e-mail address
and a short note which version of UDO on which operating system you
are using to
Address: Denesh Bhabuta
CyberSTrider
203 Parr Lane
Bury
BL9 8JW
E-Mail: dbhabuta@cix.compulink.co.uk
danny@micros.hensa.ac.uk
dbhabuta@mag-net.co.uk
When you register, you are entitled to
ü Master Disk with latest version(s) of UDO
ü Keycode to register this versions of UDO
ü E-mail, snail-mail and telephone support
ü Free update service (as long as the fee doesn't rise or it
becomes commercial)
Your keycode will initially be sent by e-mail if possible. Users who
register via Denesh are entitled to this service. To receive free
updates, please send a blank unlabelled floppy disk with a stamped
self addressed envelope to the above address.
======================================================================
Chapter 4
Installation
======================================================================
4.1 Installing the Atari version
=================================
To install UDO onto an Atari or onto a computer with a compatible
operating system (e.g. MagiCMac, MagiC-PC, GEMulator) just copy all
files to a directory that should be named "UDO".
The GEM version should be the application for files with the suffix
`*.u*' so you shall do the neccessary changes in your desktop (Gemini,
Thing, Ease, Magxdesk, ...).
If you prefer the TTP version and you are using a command line shell
(e.g. Mupfel by Stefan Eissing) copy or move `udo.ttp' to one of the
directories that is part of $PATH (e.g. `\usr\bin').
If you have installed the ST-Guide you should copy or move UDO's
hypertext (udo6eng.hyp and udo6eng.ref) to the directory that contains
all your other hypertexts.
That's all.
4.2 Installing the DOS version
===============================
You need a 80386 processor at least to run UDO. UDO doesn't run on
80286 processors or processors of an older type and I won't compile
versions for these old dinosaurs.
If you find a program or batch file named SETUP or INSTALL in the
archive please start it and follow the instructions. If the installa-
tion fails, please go on reading this chapter.
It failed? Ah, you haven't tested it yet? That's fine that you want to
read all the text before you want to experiment. ;-)
Unfortunately the installation of the DOS version is not trivial. Er,
I think it is trivial but the experiences of the past have shown me
that lots of people have problems installing UDO on a DOS PC although
the installation is very simple.
If you haven't heard anything of RSX and EMXRT until now I recommend
to read the following two chapters completely. If UDO still refuses to
run you have done something wrong or I haven't described the installa-
tion process detailed enough.
If you already know what RSX and EMXRT are good for, because you are
using emTeX or the GNU utilities) you can skip the next chapter.
4.2.1 Installation of RSX and EMXRT
------------------------------------
OK, you haven't heard anything of RSX and EMXRT yet. That's not a
shame. But if you won't know what RSX and EMXRT are good for after
having read this chapter, you should feel ashamed. And if some RSX or
EMXRT experts recognize some stupid stuff I should feel ashamed.
Well, let's go...
UDO was compiled with the GNU C Compiler (GCC), strictly speaking with
EMX-GCC (ported by Eberhard Mattes). GCC is originally a Unix software
and Unix has always used 32 bit software. Thus, the EMX-GCC makes 32
bit software, too. And now we have a problem, because you cannot run
32 bit software with DOS without using any tricks.
EMXRT and RSX are responsible for these tricks. These "drivers" allow
UDO to allocate huge blocks of memory. Because you have to use
different tricks for DOS and Windows there are existing two different
"drivers": EMXRT for DOS and OS/2, RSX for Windows.
Please note:
ü For running UDO exclusively in a DOS box with Windows 3.11/95 you
will need only RSX. RSX, written by Rainer Schnitker, is a DPMI
server for programs that were compiled with EMX-GCC or DJGPP.
ü For running UDO under OS/2 or exclusively under DOS (without
Windows) you will need only EMXRT. EMXRT ("emx runtime environ-
ment"), written by Eberhard Mattes, is needed for running EMX-GCC
compiled software.
ü If you don't install neither RSX nor EMXRT there will be no
chance to run UDO. It will simply print an error message.
ü The installation of RSX and EMXRT is very easy. Just extract the
archives with paths and enter two lines into the AUTOEXEC.BAT.
ü RSX and EMXRT are no resident drivers. UDO will start them
automatically. After UDO has finished the drivers terminate, too.
ü If you haven't received the drivers (you haven't EMXRT.ZIP or
DPMIGCC5.ZIP/RSX503RT.ZIP) and the UDO distribution doesn't
contain the archives you can download them or you can request
them by mail:
FTP: Current version of EMXRT can be downloaded from ftp.uni-
stuttgart.de/pub/systems/os2/emx-0.9b/
Current versions of RSX can be downloaded from: ftp.uni-
bielefeld.de/pub/systems/msdos/misc/
Modem: You can download the files from the BBS called "Maus MK2
Iserlohn-Kalthof" (+49 2371 944925) from the
"Gruppenprogrammteil UDO.PUB".
Mail: Just send me a formatted floppy disk and a readdressed
envelope and 2 DM (or a convertible amount of money) for
postage.
Let's talk about the installtion of RSX and EMXRT. Of course, you can
install only one of the drivers if you run exclusively DOS or Windows.
The following descriptions tells you how to install both drivers.
In first place you have to extract the archives. Stop! It's importand
that you extract the archives with paths! If you don't let your
archiver generate paths nothing will function. I recommend to use
UNZIP.EXE. If you extract the RSX archive a directory `RSX\' will be
saved. If you extract EMXRT a directory `EMX\' will be saved. If you
don't find these directories something went wrong.
You can move the directories to any position of your file system. I
recommend to move them to `C:\DRIVERS'. If this directory doesn't
exist you have to create one.
After having extracted the archives you have to edit your AUTOEXEC.BAT
and to insert the following lines. If you have only installed EMXRT,
insert the lines below "Only EMXRT" and so on:
ü Only EMXRT:
SET EMX=C:\DRIVERS\EMX\BIN\EMX.EXE
ü EMXRT and RSX:
SET EMX=C:\DRIVERS\EMX\BIN\EMX.EXE
SET RSX=C:\DRIVERS\RSX\BIN\RSX.EXE
ü Only RSX:
SET EMX=C:\DRIVERS\RSX\BIN\RSX.EXE
SET RSX=C:\DRIVERS\RSX\BIN\RSX.EXE
If RSX and EMXRT haven't been installed in `C:\DRIVERS' you have to
adjust the upper paths.
I think you already know that changes of the AUTOEXEC.BAT are
activated when rebooting your computer. Before you reboot your
computer I just want to summarize what you have done until now: you
have installed some files and you have inserted one or two lines into
your AUTOEXEC.BAT. That's all.
And now, reboot your computer.
4.2.2 Installation of UDO386.EXE
---------------------------------
Let's talk of the easier part of the installation of UDO. The abridged
version: extract the archive and add the UDO directory to PATH of your
AUTOEXEC.BAT.
But once more I will describe you the installation step by step:
1. Extract the UDO archvie with paths. If you won't find a directory
named `UDO\' something went wrong. If you will find it move the
directory named `UDO\' to any position of your file system. The
following descriptions assume that you move `UDO\' to your root
directory.
2. Now you have to let DOS find the executable:
(a) Edit the AUTOEXEC.BAT and insert the following line:
SET PATH=%PATH%;C:\UDO\BIN
This meand that DOS and Windows will look for `UDO386.EXE'
in this directory, too, when you have rebootet your
computer.
(b) If you don't like to extend your PATH you can move the
executables of `C:\UDO\BIN' to any directory that's already
listet in PATH. Using this method you don't have to reboot
your computer.
4.3 Installing the Macintosh version
=====================================
After having extracted the archive that contains the Macintosh version
of UDO you can move UDO's files to any place of your file system you
want to. In most cases this would be the "Programs" directory.
UDO is available as a fat-binary so it will run both on a 68k
Macintosh and a PowerPC Macintosh. If you want to save some disk space
you may be smaller the program with a certain software.
If you have access to the hypertext of UDO (`UDO6GER.HYP') you can
read it with "Hyperion". Hyperion is a software written by Martin
Osieka that can display ST-Guide hypertexts. When using Hyperion you
should copy `UDO.HYP' to the Hyperion directory.
4.4 Installing the Unix versions
=================================
After having extracted the archive copy the files of `bin/' to
`/usr/local/bin' or any other directory of $PATH.
Copy the manpage `udo.1' to `/usr/man/man1/'.
To read the documentation of UDO with GNU Info convert the UDO source
files to GNU Texinfo, run Makeinfo and copy the Info file to
$INFOPATH. You have to edit $INFOPATH/dir to get access to the UDO
Info files.
Furthermore you should make some scripts or aliase to simplify calling
UDO. The following script (named `'u2tex`') shows how to tell UDO that
he shall convert the source file to LaTeX):
#!bin/sh
udo --tex -o ! $*
You can make similar scripts for the other destination formats if you
want. The UDO distribution already contains some scripts.
Hint for users of Linux-SGML: My version doesn't contain all possible
entities. Just take a look ate the Linuxdoc-SGML FAQ in the middle of
this documentation if Linuxdoc-SGML prints an error message.
======================================================================
Chapter 5
Usage
======================================================================
In this chapter you will get to know which options you have to pass to
the command line version and how to use the versions with a graphical
user interface.
5.1 Command line version
=========================
The command line version can be used identically on any operating
system UDO is available for.
Name
----
udo - convert files from UDO into different formats
Synopsis
--------
udo [-adDghHilmnpqrstvwWxy] source file
udo [-adDghHilmnpqrstvwWxy] -o destination file source file
Description
-----------
UDO converts files from the UDO format into Apple-QuickView, ASCII,
HTML, Texinfo, Linuxdoc-SGML, Manualpage, Pure-C-Help, Rich Text
Format, ST-Guide, LaTeX, Turbo Vision Help or Windows Help.
Using the first method UDO prints the destination format to the
standard output (STDOUT) and error messages to the standard error
output (STDERR). Using the second method UDO writes the destination
format to the destination file and error messages to a log file with
the suffix .ul?.
You have to pass single options to UDO: -al isn't the same as -a -l!
The name of the source file has to be the last option.
Options
-------
-a, --ascii The source file will be converted to ASCII.
-D symbol Set the symbol `symbol' which can be tested in the
source file with !ifset.
-g, --helptag The source file will be converted to HP Helptag
SGML.
-h, --html The source file will be converted to HTML.
-H, --hold You have to press a key before UDO finishes.
-i, --texinfo The source file will be converted to GNU Texinfo.
--lyx The source file will be converted to LyX.
-l, --no-logfile When using the Option -o UDO doesn't save a log
file.
-m, --man The source file will be converted to a manualpage.
-n, --nroff The source file will be converted to Nroff.
-o F, --outfile F UDO writes the output into the file named "F".
-p, --pchelp The source file will be converted to Pure C Help.
-q, --quiet UDO won't print anything to STDOUT or STDERR.
-r, --rtf The source file will be converted to RTF.
-s, --stg The source file will be converted to ST-Guide.
-t, --tex The source file will be converted to LaTeX.
-v, --vision The source file will be converted to Turbo Vision
Help.
-w, --win The source file will be converted to Windows Help.
-W, --no-warnings Warnings will be suppressed. Error messages will
still be printed.
-x, --linuxdoc The source file will be converted to Linuxdoc-
SGML.
-y, --no-hypfile UDO doesn't save a file with syllabification hints
when using the option -o.
--help Outputs a help page and quits.
--test When using this option UDO won't save a destina-
tion file.
--tree When using this option UDO will save a file with
the suffix .ut?. In this file you will see a tree
with all files your source file includes.
--verbose UDO will print some status information wile
converting the source file.
--version Outputs version information and quits UDO.
Examples
--------
udo file.u
Convert the source file `file.u' to ASCII (default) and print the
output to the standard output and error messages to the standard
error output.
udo --tex -o output.tex file.u
Convert the source file `file.u' to LaTeX and write the output to
the file named `output.tex'. Warnings, error messages and
additional information will be written to the log file named
`output.ult'.
udo -s -y -l -o ! file.u
Convert the source file `file.u' to ST-Guide and write the output
to `file.stg'. UDO won't save a log file or a file with syllabi-
fication patterns.
Environment
-----------
HOME UDO looks for the file udo.ini in your home directory if
UDOPATH doesn't exist.
LANG Sets the language UDO shall use for error messages if
neither LC_ALL nor LC_MESSAGES exists.
LC_ALL If this is set to `german' UDO prints German messages.
If this variable doesn't exist LC_MESSAGES it tested
instead.
LC_MESSAGES See LC_ALL. If this variable doesn't exist, too, LANG is
tested instead.
UDOPATH UDO looks for the file udo.ini in the directory defined
by this variable. If UDOPATH doesn't exist HOME is
tested instead.
Exit Status
-----------
0 Everything was OK.
>0 An error has appeared.
Author
------
Copyright (c) 1995, 1996, 1997 by
Dirk Hagedorn (Dirk Hagedorn @ MK2, DirkHage@aol.com)
5.2 GEM version
================
The GEM version enables you to set the files and options by simply
clicking the mouse. Furthermore you can define programs for editing
and viewing files that can be started by the GEM version.
The GEM version supports the VA protocoll, iconification and drag &
drop. It runs with every AES: TOS, MultiTOS, Geneva, MagiC (Mac/PC) or
STonX.
While converting you can see the current status of UDO. Because of the
AES calls the GEM version runs slower than the TTP version. If you
want to convert large source files I recommend to use the TTP version.
The usage of the GEM version is very easy.
5.2.1 GEM main dialog
----------------------
In the main dialog you can see several buttons and a menu bar. In the
main dialog you choose the source file, the destination file and the
destination format. By pressing the "Convert" button you start the
conversion.
The items of the menu bar open other dialogs in most cases. If not you
can guess the sense of them by simply reading the menu item text. Two
menu items have to be described:
Dest/Start program: You can define a program for each destination
format. E.g. you can define a program that
converts the ST-Guide source files (made with
UDO) into a ST-Guide hypertext, or a program that
converts the LaTeX files into a DVI file.
Dest/ST-Guide: If you choose this menu item UDO calls the ST-
Guide and tells it to display the converted
hypertext (source file name, suffix `.hyp)').
5.2.2 GEM dialog `Settings'
----------------------------
After clicking the menu item "Options, Settings" this dialog appears.
The sense of each button you can see in this dialog will be described
now.
ü Destination file:
- Adjust: If this button is checked the GEM version will
adjust the file name of the destination file when changing
the destination format. How it is adjusted depends on the
status of the following buttons:
* Completely: UDO adjusts the name completely.
* Name and suffix: UDO takes the name of the source file
and adjusts the suffix according to the current desti-
nation format. The path of the destination file isn't
adjusted.
* Only the suffix: UDO adjusts only the suffix of the
destination file according to the current destination
format. The path and the file name aren't adjusted.
- View: If this button is checked UDO will call the destina-
tion viewer after having converted the source file.
ü Ask before:
- Quitting UDO: If this button is checked UDO asks you before
quitting it.
- Overwriting file:If the destination file already exists UDO
will ask if it should overwrite the file when starting the
conversion.
ü Options:
- Save log file: Shall UDO save a log file that contains all
error messages, warning messages and additional information
(similar to the command line option --no-logfile)?
- Save hyphen file: Shall UDO save a hyphen file with syllabi-
fication patterns (similar to the command line option --no-
hypfile)?
- Save tree file: Shall UDO save a tree file where you can see
the include file structure of your documentation (similar to
the command line option --treefile)?
- Verbose mode: Shall UDO display the status during the
conversion (similar to the command line option --verbose)?
- Suppress warnings: Shall UDO suppress warning messages in
the log file (similar to the command line option --no-
warnings)?
5.2.3 GEM dialog `Symbols'
---------------------------
The GEM version enables you to set predefined symbols when starting
the conversion. You can insert the text and choose which symbol has to
be used by clicking the buttons on the left side.
If an entry is checked UDO will use the text as a predefined symbol.
5.2.4 GEM dialog `External programs'
-------------------------------------
This dialog looks very complicated and I must say that I have to
change the design next time.
In this dialog you can define the programs you can use for editing and
viewing the source files and destination files or for converting the
destination files.
Please select the destination format in the upper half.
In the lower half you can choose the program. If this program isn't a
GEM application you should check the button "TOS program". If it is a
GEM application and it supports VA_START you should check the
"Supports VA_START" button. These settings are only used if UDO starts
the programs itself. Finally you can edit the parameters UDO shall use
when calling the programs. You can use placeholders for the name of
the current source file and destination file. Click the "Hint" button
to get more information.
How UDO starts programs
ü In first place UDO will look for an AV server. If AVSERVER is set
inside the environment or Gemini or Thing are running, UDO tells
them to start the program.
ü If there's no AV server available UDO starts the programs itself.
- If the program is an accessory the parameters will be
transferred via VA_START.
- If the program is already running and it supports VA_START,
UDO will send a VA_START message to this program.
- In all other cases UDO will start GEM applications with
shel_write() and TOS programs with Pexec().
5.3 Macintosh version
======================
The macintosh version looks more simply than the GEM version. All
available options are combined in one dialog.
If you don't start it with passing a UDO source file you can choose
one by clicking the [Choose] or [AuswÌhlen] button. You can set the
destination format by using one of the available formats that are
listed inside the popup. If the destination files shouldn't be saved
in the source folder you can choose a destination folder by clicking
the second [Choose] or [AuswÌhlen] button.
Which files UDO will save you can define by using the group of
buttons. I hope you can guess the function of each button by reading
the labels. The setting of the display popup ("Ausgabeanzeige") sets
the speed of UDO. If you set it to "cooperative" ("kooperativ") you
can work with other applications while UDO is converting the source
file.
The conversion can be started by clicking the [Output] or [Ausgeben]
button. If your source file doesn't contain any error UDO quits
without any comment. If there were errors the Macintosh version
presents an error message with link to the log file.
After having paid the shareware fee you will get a personalized
keycode that you can enter into the dialog. If you enter the keycode
correctly all limitations of the shareware version will be disabled.
The documentation of UDO can be displayed anytime by pressing the help
key or clicking the help menu if you have installed the hypertext
viewer Hyperion (written by Martin Osieka) and if the hypertext
UDO.HYP is installed in the guides folder of Hyperion.
5.4 UDO Shell for Windows
==========================
The UDO shell for Windows ("UDOSH") makes it easier for you to use UDO
with Windows.
The shell can call UDO, editors and viewers and you can simple choose
which destination format you want to use by clicking the mouse.
The shell is distributed with the complete source code for Borland C++
and is described in a separate documentation.
======================================================================
Chapter 6
The syntax of UDO
======================================================================
6.1 A short example
====================
Before going into details I want to show you how an UDO source file
may look like. You can use this example to make your own source files
if you want to.
-----------------------------------------------------------------
########################################
# @(#) An example for UDO
# @(#) Dirk Hagedorn, 1996/04/16
########################################
!stg @subject "Documentation/Utilities"
!title A short example for
!program UDO
!date (!today)
!author Dirk Hagedorn
!use_auto_subtocs [info,html,stg,tvh,win,aqv]
!use_auto_subsubtocs [info,html,stg,tvh,win,aqv]
!no_effects [asc]
!use_justified [asc]
########################################
!begin_document
!maketitle
!tableofcontents
!node Automatic layout
UDO layouts the source file automatically. You don't have
to take care about spaces between
two words
because UDO enters line breaks on its own.
Further more it doesn't make sense but doesn't disturb UDO
if you enter more than one empty line between to
paragraphs.
Paragraphs are split by using empty lines or commands.
!node A chapter
This is the text of this chapter.
Due to the switches inside the preamble it follows a
table-of-contents-like list of all sections of this chapter.
!subnode A section
This is the text of this section. A ""subsubtoc"" will
follow due to the switches inside the preamble, too.
!subsubnode A subsection
This is the text of this subsection.
!end_document
-----------------------------------------------------------------
Explanations
------------
At the beginning of this example you can see a comment. A comment is a
line that begins with a `#' immediately.
The next line is a special line. This line contains a special command
for the ST-Guide. If you don't know the ST-Guide just add this line at
the beginning of your source file so that are all the people are able
to build a hypertext if they want to.
Now the information for the title page and the headlines are set.
!title and !program should make sense if you read them one after
another. In this example it would be "An example for UDO". If you look
at the line containing !date you will see the placeholder (!today)
that is replaced by the current system date. You can set !date to
April 16th, 1996 manually, if you want to.
The preamble contains some switches. The first to switches are set for
the output of "sub-tables-of-contents" in hypertexts. The abbrevia-
tions of these hypertexts you will see inside the brackets. In a
"subtoc" all subnodes of a node are printed like a table of contents
so that readers of a hypertext are enabled to directly switch to an
interesting subnode.
The switch !no_effects [asc] suppresses the usage of Usenet text
effect commands like stars for bold and slashes for italic text.
The switch !use_justified [asc] tells UDO to layout the ASCII file
with justified text.
The command !begin_document tells UDO that now the main part of the
document begins. This command has to be part of any source file!
In first place we output the title page that is built with the
information set in the preamble of this example. You should use
!maketitle directly after !begin_document if you use it. It's possible
to use it later but I don't think that it would work without problems.
Then we want that UDO prints a table of contents. There you can see
all chapters, sections and subsections of the source file. Like
!maketitle you should use !tableofcontents directly after
!begin_document or !maketitle if you use this command.
Now we can enter the first chapter of our text. Chapters are marked
with !node. Please read the contents of this chapter that contains
additional information.
The following lines demonstrate how to use chapters, sections and
subsections. You should also read the text of these chapters to get
more information.
Finally we end our text with the command !end_document. This command
has to be part of every source file and should be the last command of
a source file!
6.2 Basics
===========
6.2.1 Let's talk about text, Baby!
-----------------------------------
UDO expects a text file that you can edit with every ASCII editor. You
should use only printable characters. That means you shouldn't use any
characters below "space" except ASCII 9 (tab), ASCII 10 (line feed)
and ASCII 13 (carriage return). A line of a source file shouldn't
contain more than 512 characters.
UDO layouts the destination file itself. That means that it fills in
spaces between words and lines between paragraphs:
Words are characters that are divided by one or more blank or tab.
UDO prints words divided by one blank.
Paragraphs consist of words. Paragraphs are divided by one or more
empty line(s) or UDO commands. UDO divides paragraphs by one
empty line when printing the destination file.
You can compose the source file using different charsets. UDO supports
the following character sets:
ü Atari ST (!code_tos)
ü Apple Macintosh (!code_mac)
ü HP Roman 8 (!code_hp8)
ü IBM PC (!code_dos)
ü ISO Latin 1, Windows ANSI (!code_iso)
When UDO starts the conversion it excepts the character set that is
used on the current operating system. If you want to convert source
files that use characters from a different operating system you have
to tell it to UDO by using the upper commands. Additional information
can be found in the chapter "Special characters".
6.2.2 Commands, switches and placeholders
------------------------------------------
Commands: An UDO command begins with a single "!" at the
beginning of a line, it may be indented by spaces or
tabs. A command tells UDO to do something where you
used it e.g. to output the table of contents with
!tableofcontents.
Switches: An UDO switch begins with a single "!" at the beginning
of a line, it may be indented by spaces or tabs. A
switch tells UDO how to handle some commands e.g.
!language english that switches the language of the
destination file to English so that UDO will print
"Appendix" instead of "Anhang".
Placeholders: An UDO placeholder begins with a "(!" and ends with a
single ")". A placeholder is replaced by certain char-
acters e.g. `(!B)' by `{\bf' for LaTeX. You can use
placeholders wherever you want.
6.2.3 Comments
---------------
A source file can contain comments. UDO ignores a line if the first
character of a line is a `#'. This character mustn't be indented by
spaces or tabs!
Inside a verbatim environment or raw environment you cannot use
comments because UDO prints every line of such an environment.
6.2.4 Preamble and main part
-----------------------------
Each source file has to contain a preamble and a main part.
In the preamble you define general information about the source file
like information for the title page or the switches that tell UDO how
to convert the source file. The preamble ends with the command
!begin_document.
The main part contains the text structured into chapters, sections or
subsections. The main part ends with the command !end_document.
6.2.5 Environments
-------------------
An environment is a part of a source file that has to be converted in
a special way. Environments will be started with !begin_ and finished
with !end_. The commands have to be the first words of a line. They
may be indented by spaces or tabs.
UDO offers you a large range of environments that will help you to
layout your text and to insert special commands:
appendix environment: appendix
center environment: centred text
description environment: descriptions
document environment: documentation contents
enumerate environment: enumerations
flushleft environment: left justified text
flushright environment: right justified text
itemize environment: itemizations
quote environment: indented text
raw environment: special commands for the destination format
table environment: tables
verbatim environment: preformatted text
xlist environment: lists
How the text of an environment is formatted you can find in the
according sections.
6.3 Structuring
================
In this chapter you will get to know what commands are offered to
structure your documentation.
6.3.1 Title page
-----------------
Using the command !maketitle you can tell UDO to generate a title page
built with information you set in the preamble with the following
commands:
!title: The title of the documentation e.g. "The guide to" or
"The introduction to".
!program: The name of the software or theme you describe inside
the documentation.
!programimage: The filename of an image UDO shall display on the
title page instead of !program.
!version: This is used for version information e.g. "Release 6"
or "Version 42".
!date: The date you have written the documentation or the
program.
!author: The name of the author of the documentation.
!authorimage: The filename of an image UDO shall display on the title
page above the name of the author.
!street: The street where the author lives. Optionally you can
enter any other text that will be displayed below the
name of the author on the title page.
!town: The town where the author lives. Optionally you can
enter any other text that will be displayed below the
street on the title page.
!country: The country where the author lives. Optionally you can
enter any other text that will be displayed below the
town on the title page.
!email: The email address(es) of the author. You can use this
command up to five time if you have several email
addresses.
You don't have to use all commands but you should use one command at
least if you are using the command !maketitle.
When used !maketitle should only be used directly after
!begin_document. To use this command at another place of the source
file is allowed but there could be problems.
The title page will be printed on a single page when converting to
ST-Guide or Windows Help. This is a great help for people with small
screens. From the title page you will be able to jump to the table of
contents.
Converting to LaTeX UDO generates a single page using the title page
environment built with the information from the preamble.
If you want to make your own title page you have to use some tricks.
You will find an example inside the UDO distribution that shows you
how to make userdefined title pages.
6.3.2 Tables of contents
-------------------------
Using the command !tableofcontents you can tell UDO to generate a
table of contents that lists all chapters, sections and subsections of
the source file.
You should use !tableofcontents directly after !maketitle or
!begin_document to avoid problems.
By using the switches !no_toc_subnodes, !no_toc_subsubnodes and
!no_toc_subsubsubnodes you can decrease the size of the table of
contents. This is useful when writing large hypertexts.
If you want to list all sections of a chapter, all subsections of
section or all paragraphs of a subsection you can output this so
called "sub-table of contents" with the commands called !subtoc,
!subsubtoc and !subsubsubtoc. This is useful for hypertexts where you
then have the possibility to switch directly to an interesting section
or subsection. UDO enables you to automatize the output of these
"subtoc's" using the switches !use_auto_subtocs, !use_auto_subsubtocs
and !use_auto_subsubsubtocs.
If you use the upper switches to print subtocs automatically but you
don't want to print them in specific chapters you can insert the
commands !ignore_subtoc, !ignore_subsubtoc or !ignore_subsubsubtoc. If
a chapter contains one of these commands there will be printed no
table of contents neither automatically nor manually by using !subtoc
etc.
Summary of all commands and switches
------------------------------------
!tableofcontents: Prints the table of contents on a separate
page.
!toc: Prints the table of contents inside the text.
!subtoc: Prints all sections of a chapter.
!subsubtoc: Prints all subsections of a section.
!subsubsubtoc: Prints all paragraphs of a subsection.
!no_toc_subnodes: Tells UDO that it has to print only the
chapter names inside the table of contents.
!no_toc_subsubnodes: The table of contents lists only the chapters
and sections.
!no_toc_subsubsubnodes: The table of contents lists only the
chapters, sections and subsections.
!use_auto_subtocs: Print all sections of a chapter
automatically.
!use_auto_subsubtocs: Print all subsections of a section
automatically.
!use_auto_subsubsubtocs: Print all paragraphs of a subsection
automatically.
!ignore_subtoc: Don't print the sections of the current
chapter.
!ignore_subsubtoc: Don't print the subsections of the current
section.
!ignore_subsubsubtoc: Don't print the paragraphs of the current
subsection.
Please note:
1. When converting to HTML the title page and the table of contents
will be printed in the file you passed via the command line.
2. When converting to RTF no table of contents will be generated!
You should make this with the functions of your text processor
that is used to import the converted RTF file.
6.3.3 Chapters, sections, subsections and paragraphs
-----------------------------------------------------
UDO offers you four layers for structuring your documentation. These
layers are called chapters, sections, subsections and paragraphs.
Using the command !node you tell UDO that a new chapter begins and you
tell it how the chapter is named. The commands !subnode, !subsubnode
and !subsubsubnode do the same for a section, subsection and
paragraph.
Watch this example (without text) to understand what I want to say:
!node A chapter
!subnode A section
!subsubnode A subsection
!subsubsubnode A paragraph
!node And a different chapter
The table of contents should look like this:
1 A chapter
1.1 A section
1.1.1 A subsection
1.1.1.1 A Paragraph
2 And a different chapter
Windows Help and ST-Guide may display text in dialog boxes, too. These
so called popup nodes can be used with the following commands:
ü !pnode for popup chapters,
ü !psubnode for popup sections,
ü !psubsubnode for popup subsections and
ü !psubsubsubnode for popup paragraphs
Furthermore you can create chapters that don't appear in the table of
contents. Use these commands...
ü !node* for chapters,
ü !subnode* for sections,
ü !subsubnode* for subsections,
ü !subsubsubnode* for paragraphs
ü !pnode* for popup chapters,
ü !psubnode* for popup sections,
ü !psubsubnode* for popup subsections and
ü !psubsubsubnode* for popup paragraphs.
Please note:
1. Chapters that aren't listed in the table of contents aren't
numbered, too. UDO will create hypertext links to them as it does
for all other chapters.
2. UDO enumerates the chapters automatically. If you want to display
the chapter names without numbers you can use the switch
!no_numbers inside the preamble.
6.3.4 Appendix
---------------
UDO can manage one(!) appendix. The contents of the appendix has to be
used inside the appendix environment. This environment is started with
!begin_appendix and finished with !end_appendix.
Chapters that are part of the appendix are enumerated using letters
instead of numbers. A short example:
!node A chapter outside the appendix
!begin_appendix
!node A chapter
!subnode A section
!subsubnode A subsection
!subsubsubnode A paragraph
!end_appendix
The table of contents should look like this:
5 A chapter outside the appendix
Appendix
A A chapter
A.1 A section
A.1.1 A subsection
A.1.1.1 A paragraph
Please note:
1. You should use the appendix at the end of your source file. In
other words !end_appendix should be the last but one command
before !end_document. You shouldn't use any additional chapters
behind !end_appendix because UDO will get confused especially
while enumerating the chapters.
2. Because UDO uses letters for creating the numbers for the
chapters of the appendix you shouldn't use more than 26 chapters
inside the appendix.
6.4 Emphasising text
=====================
In this section you will get to know how to layout passages in
different ways. UDO supports centred, left justified, right justified
and indented text, different kinds of lists, environments for
preformatted text and tables. Furthermore you can use different text
styles and footnotes.
6.4.1 Itemizations
-------------------
You can use the itemize environment for itemizations where every
single item is marked with a bullet, star, dash or point. The itemize
environment is started with !begin_itemize and finished with
!end_itemize. Each item has to be marked with the !item command.
You can use the itemize environment inside other environments or
inside another itemize environment.
This short example shows how to write a simple itemize environment:
!begin_itemize
!item This is the first item.
!item This is the second item with a little bit
more text to demonstrate how UDO formats
an itemization.
This is the second paragraph of the
second item of the itemize environment.
!item This is the last item.
!end_itemize
... will be printed this way:
ü This is the first item.
ü This is the second item with a little bit more text to demon-
strate how UDO formats an itemization.
This is the second paragraph of the second item of the itemize
environment.
ü This is the last item.
And this example, where an itemize environment is used inside another
one ...
!begin_itemize
!item This is the first item of the outer
itemize environment.
!item This is the second item of the outer
itemize environment.
!begin_itemize
!item This is the 1st item of the inner one.
!item This is the 2nd item of the inner one.
!end_itemize
!item This is the third item of the outer
itemize environment.
!end_itemize
... will be printed this way:
ü This is the first item of the outer itemize environment.
ü This is the second item of the outer itemize environment.
- This is the 1st item of the inner one.
- This is the 2nd item of the inner one.
ü This is the third item of the outer itemize environment.
UDO separates the text of each item by an empty line. In some cases
it's not a good idea to separate the items e.g. if an item contains
only some text. In this case it would be better to suppress the empty
lines to get a compressed environment.
For printing compressed environment UDO offers you the command named
!short you can add to the !begin_itemize command. If you add !short
UDO won't separate the items by inserting empty lines. Furthermore in
all environments you use inside this itemize environment no empty
lines will be printed.
The following two examples show how to use the !short command and
which effects this command has. The first example doesn't, the second
one uses !short:
Without !short...
!begin_itemize
!item Item 1
!item Item 2
!item Item 3
!end_itemize
... will be displayed this way:
ü Item 1
ü Item 2
ü Item 3
With !short...
!begin_itemize !short
!item Item 1
!item Item 2
!item Item 3
!end_itemize
... will be displayed this way:
ü Item 1
ü Item 2
ü Item 3
If you can't see any difference the destination format doesn't allow
it to suppress the item separation.
Please note:
1. The items of the first itemize environment will be marked with a
bullet that is defined on different positions inside the
character set of each operating system.
2. If you use the switch !no_umlaute inside the preamble of the
source file the items of the first itemize environment will be
marked with an `o' instead of a bullet.
6.4.2 Enumerations
-------------------
The enumerate environment is useful for lists where the items have to
be enumerated with numbers or letters. It is started with
!begin_enumerate and finished with !end_enumerate. Each item has to be
marked with !item.
You can use the itemize environment inside other environments or
inside another itemize environment.
This short example shows how to write a simple itemize environment:
UDO offers you the following environments:
!begin_enumerate
!item itemize environment
!item enumerate environment (discussed in
this section)
!item description environment
!item xlist environment
!end_enumerate
... will be displayed this way:
UDO offers you the following environments:
1. itemize environment
2. enumerate environment (discussed in this section)
3. description environment
4. xlist environment
In the following example the enumerate environment is used twice and
it will be compressed because of the usage of !short:
!begin_enumerate !short
!item This is the first item of the outer
enumerate environment.
!item This is the second item of the outer
enumerate environment.
!begin_enumerate
!item Item 1 of the inner environment.
!item Item 2 of the inner environment.
!end_enumerate
!item This is the third item of the outer
enumerate environment.
!end_enumerate
... becomes to:
1. This is the first item of the outer enumerate environment.
2. This is the second item of the outer enumerate environment.
(a) Item 1 of the inner environment.
(b) Item 2 of the inner environment.
3. This is the third item of the outer enumerate environment.
Please note:
1. UDO doesn't enumerate the items for all destination formats. E.g.
HTML and LaTeX enumerate the items themselves so you have to be
cautious with using text like "see item 1" or "see point b)".
2. The third layer of enumerate environments will be indented deeper
than the other layers because Roman numbers need a little bit
more space.
3. Because the second layer is enumerated with letters you shouldn't
use more than 26 items.
4. A description of the !short command is part of the chapter
"Itemizations".
6.4.3 Descriptions
-------------------
Use the description environment for describing some words. Start the
environment with !begin_description and finish it using
!end_description.
A word that has to be described is used with the !item [ ] command
inside brackets and will be displayed with bold text.
The description environment can be used inside other (description) en-
vironments. This example...
UDO offers you the following environments:
!begin_description
!item [the itemize environment]
for itemized lists,
!item [the enumerate environment]
for enumerated lists,
!item [the description environment]
for descriptions and
!item [the xlist environment]
for lists
!end_description
... will be display this way:
UDO offers you the following environments:
the itemize environment for simple lists,
the enumerate environment for enumerated lists,
the description environment for descriptions and
the xlist environment for lists
In this example the description environment is used inside another one
and the !short is used, too:
!begin_description !short
!item [Item 1] of the outer description environment
!item [Item 2] of the outer description environment
!begin_description
!item [Item 1] of the inner environment.
!item [Item 2] of the inner environment.
!end_description
!item [Item 3] of the outer description environment
!end_description
... becomes to:
Item 1 of the outer description environment
Item 2 of the outer description environment
Item 1 of the inner environment.
Item 2 of the inner environment.
Item 3 of the outer description environment
Please note:
1. If the word that shall be displayed in bold text contains a "]"
you have to quote it with an exclamation mark to tell UDO that it
has to be printed in bold text, too.
2. The HTML version of your source file will print the descriptions
in bold text, too, even if this not typical for HTML. The next
versions of UDO will offer a command to disable the bold text
inside descriptions for HTML.
3. A description of the !short command is part of the chapter
"Itemizations".
6.4.4 Lists
------------
Like the description environment this set of commands is useful to
describe words. Using this environment the description of each word is
displayed beneath one another.
The xlist environment starts with !begin_xlist [...] and finishes with
!end_xlist. You have to tell UDO in brackets how wide it should indent
the descriptions of each item. Usually you use the longest word in
brackets. Each word that has to be described has to used inside the
brackets of the !item [ ] command.
You can use the xlist environment inside other (xlist) environments,
too.
This short example...
UDO offers you the following environments:
!begin_xlist [description environment:]
!item [itemize environment:]
for itemizations
!item [enumerate environment:]
for enumerations
!item [description environment:]
for descriptions
!item [xlist environment:]
for lists (discussed in this section)
!end_xlist
... will be displayed this way:
UDO offers you the following environments:
itemize environment: for itemizations
enumerate environment: for enumerations
description environment: for descriptions
xlist environment: for lists (discussed in this section)
The command !short can also be used for xlist environments. To get a
compressed list just add !short at the end of the line that contains
!begin_xlist. Once more a short example:
!begin_xlist [description:] !short
!item [itemize:] Itemizations
!item [enumerate:] Enumerations
!item [description:] Descriptions
!item [xlist:] Lists
!end_xlist
... will be displayed this way:
itemize: Itemizations
enumerate: Enumerations
description: Descriptions
xlist: Lists
Since Release 6 UDO offers three additional environments that are
familiar with the xlist environment. In contrast to the xlist environ-
ment the items will be displayed in bold, italic or typewritered text.
1. When using the blist environment (bold list) the items will be
displayed in bold text. A blist environment will be started with
!begin_blist and finished with !end_blist.
2. When using the ilist environment (italic list) the items will be
displayed in italic text. A blist environment will be started
with !begin_ilist and finished with !end_ilist.
3. When using the tlist environment (typewritered list) the items
will be displayed in typewritered text. A tlist environment will
be started with !begin_tlist and finished with !end_tlist.
The following example shall demonstrate the results:
!begin_xlist [typewritered:]
!item [normal:] !..
!end_xlist
!begin_blist [typewritered:]
!item [bold:] !..
!end_blist
!begin_ilist [typewritered:]
!item [italic:] !..
!end_ilist
!begin_tlist [typewritered:]
!item [typewritered:] !..
!end_tlist
... will be displayed this way:
normal: ...
bold: ...
italic: ...
typewritered: ...
You have to notice some aspects:
1. If the text inside the brackets contains a "]" you have to quote
it with an exclamation mark so that UDO will recognize that this
"]" shall be part of the item and shall be displayed on the "left
side".
2. HTML, Linuxdoc-SGML and Texinfo don't support an environment like
UDO's xlist environment. In these formats the xlist environments
are displayed like a description environment by default. But if
you use the switch !use_xlist inside the preamble UDO will print
xlist environments like in ASCII, but with preformatted text.
3. UDO doesn't know the character widths when converting the source
file to RTF and Windows Help. If the indents are too wide you can
adjust the indent by using the commands !rtf_charwidth and
!win_charwidth.
4. A description of the !short command is part of the chapter
"Itemizations".
6.4.5 Centred text
-------------------
Lines that are part of a center environment will be displayed centred
if the destination format centred text.
You can use the center environment inside other environments. You can
also use it inside another center environment, even this may be
senseless.
If you use other environments inside a center environment they will be
layouted like in all other cases. Only when the center environment is
the active one text will be printed centred.
If the following example isn't centred the current documentation
format doesn't allow it to use centred text.
!begin_center
A centred line.
A centred paragraph
with two source lines.
The Guide to (!nl)
UDO
!end_center
... will be printed in this way:
A centred line.
A centred paragraph with two source lines.
The Guide to
UDO
You see that UDO layouts paragraphs of a center environment, too. To
insert a manual line break use the (!nl) command.
6.4.6 Right justified text
---------------------------
Lines that are part of a flushright environment will be displayed
right justified if the destination format supports right justified
text.
You can use the flushright environment inside other environments. You
can also use it inside another flushright environment, even this may
be senseless.
If you use other environments inside a flushright environment they
will be layouted like in all other cases. Only when the flushright en-
vironment is the active one text will be printed right justified.
If the following example isn't printed right justified the current
documentation format doesn't allow it to use right justified text.
!begin_flushright
A right justified line.
A right justified paragraph
with two source lines.
The Guide to (!nl)
UDO
!end_flushright
... will be printed in this way:
A right justified line.
A right justified paragraph with two source lines.
The Guide to
UDO
You see that UDO layouts paragraphs of a flushright environment, too.
To insert a manual line break use the (!nl) command.
6.4.7 Left justified text
--------------------------
Lines that are part of a flushleft environment will be displayed left
justified without justification.
Er, do you understand that? No? OK, one more try. If you use the
switch !use_justified UDO adjusts the lines by inserting spaces
between the words so that you have a proper right margin. But UDO
won't insert spaces between words of a flushleft environment.
You can use the flushleft environment inside other environments. You
can also use it inside another flushleft environment, even this may be
senseless.
If you use other environments inside a flushleft environment they will
be layouted like in all other cases. Only when the flushleft environ-
ment is the active one text will be printed without justification.
This short example...
!begin_flushleft
A left justified line.
A left justified paragraph
that will be printed
without justification. This
senseless sentence is added
to demonstrate the missing
justification.
The Guide to (!nl)
UDO
!end_flushleft
... will be printed in this way:
A left justified line.
A left justified paragraph that will be printed without justification.
This senseless sentence is added to demonstrate the missing
justification.
The Guide to
UDO
You see that UDO layouts paragraphs of a flushleft environment, too.
To insert a manual line break use the (!nl) command.
6.4.8 Indented paragraphs
--------------------------
To display indented paragraphs you can use the quote environment which
is started with !begin_quote and finished with !end_quote. You can use
the quote environment inside another quote environment or inside other
environments.
This environment is useful to emphasize passages. This effect is used
in the following example:
!begin_quote
This paragraph is used inside a
quote environment and will be
displayed indented.
!end_quote
... becomes to:
This paragraph is used inside a quote environment and will
be displayed indented.
Please note: When converting to HTML the tag
is used.
Netscape and CAB display paragraphs indented but Mosaic displays them
just with another font.
6.4.9 Preformatted text
------------------------
UDO layouts the text of the source file on its own. But sometimes you
don't want that because you want to display preformatted things like
parts of a source code or something else.
To display preformatted text you can use the verbatim environment that
is started with !begin_verbatim and finished with !end_verbatim. No
UDO commands (except !end_verbatim) or placeholders will be converted.
Text inside this environment will be indented like normal text.
When converting into LaTeX the commands of UDO will be just replaced
by the LaTeX commands \begin{verbatim} and \end{verbatim}. When
converting to another format UDO adjusts special chars and displays
the text with a non-proportional font.
If the lines of the verbatim environment contain tabs (ASCII 9) UDO
will replace them by spaces according to the !tabwidth setting.
Because no commands inside a verbatim environment are noticed you
cannot use the !include command inside this environment.
To enable you to include an external file and display it as it would
be inside a verbatim environment UDO offers you the command !vinclude.
This command is a mixture of !begin_verbatim, !include and
!end_verbatim.
To write special commands for the destination format you cannot use
this environment. You have to use the raw environment instead.
Please note:
1. Because the text of a verbatim environment is indented like
normal text you shouldn't use extra spaces at the beginning of
each line.
2. The difference between the raw environment and the verbatim envi-
ronment is that text of a verbatim environment will be displayed
an you entered it, but text of a raw environment will be saved
into the destination file as you entered it.
6.4.10 Footnotes
-----------------
Text that is used between (!N) and (!n) will be shown as a footnote
when converting to a format that supports footnotes. Otherwise (!N)
will be replaced by ` (', (!n) will be replaced by `)'.
Important hint: Before (!N) you shouldn't use a blank. If you do so
the footnote mark would "fly" without context or before the `(' you
could read two blanks.
This example...
UDO(!N)Universal Document(!n)
... becomes to:
UDO (Universal Document)
Footnotes are supported by these formats:
ü LaTeX
ü Linuxdoc-SGML
ü LyX
ü Texinfo
ü RTF
Please note:
1. I'm a bit unlucky that UDO just prints brackets if the destina-
tion format doesn't support footnotes. It will be better if UDO
saves the footnote text and prints it at the end of a chapter or
page. Unfortunately this is a very tricky problem that cannot be
solved in some days.
2. Don't forget not to use a space or tab before (!N).
6.4.11 Text styles
-------------------
UDO enables you to set text styles right inside the source file.
At the moment UDO supports bold, italic, underlined, preformatted and
non-proportional text.
If you want to display a single word or some words in a certain text
style you have to use them between the according placeholders. Look,
how the upper paragraph was made:
At the moment UDO supports
(!B)bold(!b),
(!I)italic(!i),
(!U)underlined(!u),
(!V)preformatted(!v) and
(!T)non-proportional text(!t).
In this table you will see in which way the placeholders will be
replaced:
+------+-------+----------+-------------+------+---------+--------+
| UDO | ASCII | ST-Guide | LaTeX | RTF | WinHelp | HTML |
+------+-------+----------+-------------+------+---------+--------+
| (!B) | * | @{B} | {\bf | {\b | {\b | |
| (!b) | * | @{b} | } | } | } | |
+------+-------+----------+-------------+------+---------+--------+
| (!I) | / | @{I} | {\it | {\i | {\i | |
| (!i) | / | @{i} | } | } | } | |
+------+-------+----------+-------------+------+---------+--------+
| (!U) | _ | @{U} | {\underline | {\ul | {\ul | |
| (!u) | _ | @{u} | } | } | } | |
+------+-------+----------+-------------+------+---------+--------+
| (!V) | | | \verb+ | {\f1 | {\f1 |
|
| (!v) | | | + | } | } |
|
+------+-------+----------+-------------+------+---------+--------+
| (!T) | | | {\tt | {\f1 | {\f1 | |
| (!t) | | | } | } | } | |
+------+-------+----------+-------------+------+---------+--------+
As you see here for the ASCII format there will be used the text style
commands as they are used in Usenet. If you don't like them you can
use the switch called !no_effects to suppress them. Use
!no_effects [asc] to suppress the text style commands when converting
to ASCII.
Please note: Definitions are great for programming user-defined text
styles. It's for sure that you need some knowledge about the destina-
tion forma to do this. The following example show how to use ghosted
text which is available for the ST-Guide:
!ifdest [stg]
!define G @{G}
!define g @{g}
!else
!define G
!define g
!endif
Normal and (!G)ghosted(!g).
6.4.12 Tables
--------------
Since Release 5 you are able to print simple tables with UDO. You can
define the justification of the columns and where UDO shall print
vertical and/or horizontal lines.
To print tables with UDO you need the following commands:
1. !table_caption
2. !begin_table [...] {!hline}
3. !end_table
4. !hline
5. !!
The command !table_caption defines the title of the next table. It has
to be used before the table environment, not inside this environment!
The command !begin_table starts a table, !end_table finishes and
prints the table. After !begin_table you can define the justification
of the table columns and the usage of vertical lines. Use `c' for a
centred row, `l' for a left justified row, `r' for a right justified
row and `|' for vertical lines inside brackets. If you add a !hline
command to this line the table starts with a horizontal line.
After having described the layout of the table with the upper line you
can insert the cells of the table. You have to insert a column in one
source line and you have to divide the cells by using `!!'.
If you want to insert a horizontal line you can use the !hline
command. !hline has to be at the beginning of the line and it has to
be the only command of this line.
Here you will see a short example that demonstrates the usage of the
upper described commands:
!table_caption Tables with UDO
!begin_table [|l|c|r|] !hline
upper left !! up !! upper right
lower left cell !! lower cell !! lower right cell
!hline
!end_table
This example prints a table with two rows and three columns. The first
column is left justified, the second columns is centred and the third
columns is printed right justified:
+-----------------+------------+------------------+
| upper left | up | upper right |
| lower left cell | lower cell | lower right cell |
+-----------------+------------+------------------+
Table 4: Tables with UDO
Because I used a `|' before and after every column they are divided by
vertical lines. The table starts with a horizontal line because the
!hline command was added at the end of !begin_table. Finally the table
ends with a horizontal line because the !hline command is used right
before !end_table.
The following example shows the upper table without any lines:
upper left up upper right
lower left cell lower cell lower right cell
Table 5: Another example
UDO offers you a switch called !use_ansi_tables. If you use this
switch inside the preamble the lines of the table are printed by using
some characters of the IBM PC graphic character set instead of +, -
and | when converting into an ASCII like format like ASCII or ST-
Guide. This switch has no effect if you convert to Windows Help, RTF,
HTML or LaTeX.
Please note:
ü Tables are always printed centred.
ü HTML doesn't allow to define where to use lines. If you use the
!hline command at the end of !begin_table the table is printed
via frame=box. If you don't use !hline it is printed without any
lines.
ü Windows Help doesn't allow it to print centred tables or to print
lines where you want to. If you use !hline in the !begin_table
line all cells will be printed with a box. If you don't use
!hline there will be no line at all in this table.
ü Converting to ST-Guide the lines of a table are generated with
@line. It's not possible to use more than one vertical line
between columns or more than one horizontal line.
ü Inside the cells you can use all other UDO commands like text
styles, links or indices.
6.5 Special characters
=======================
6.5.1 Double quotes
--------------------
Double quotes of the source file will be converted to typographical
quotes if they are supported by the destination format. The following
ASCII simulation demonstrates how it works:
Double ""quotes""
66 99
Double quotes
If you want to display two quotes you have to use ("")text("")
instead.
Please note:
1. The conversion of these double quotes can be suppressed using the
switch called !no_quotes [ ].
2. When converting to RTF special RTF commands will be used.
6.5.2 Double apostrophes
-------------------------
Like double quotes UDO can convert double apostrophes into typographi-
cal apostrophes:
double ''apostrophes''
will become
double `apostrophes'
If you want to display two apostrophes you have to use ('')text('')
instead.
Please note: The switch !no_quotes [ ] switches off the conversion of
these double apostrophes, too.
6.5.3 Non breaking spaces
--------------------------
If you want to insert non-breaking spaces between two words you have
to use the tilde (~). Non-breaking spaces are also useful to stop UDO
and the other formats from breaking lines between two words.
Converting to an ASCII format UDO replaces this tildes by blanks.
Converting to other formats UDO replaces this tildes by commands that
have the same effect.
LaTeX: ~
HTML:
RTF: \~
WinHelp: \~
If you want to display a tilde you have to use !~ instead.
Please note: If you use a tilde inside an external link UDO won't
convert it.
6.5.4 Dashs
------------
UDO supports - did you think anything else - dashs like in this
sentence.
Dashs are supported by LaTeX, Windows Help and RTF. Converting to
other formats UDO will replace `---' and `--' by a single `-'.
If you want to display three or two `-' you have to use (---) or (--).
6.5.5 Converting 8 bit chars
-----------------------------
In an UDO source file you can use "higher" characters without having
to know how a character has to look like in a destination format like
LaTeX or Windows Help. So you can enter a German `Þ' without any fear,
UDO converts it for you and it knows that this has to be ß for
HTML or {\ss} for LaTeX.
UDO expects files containing chars of the system charset of your
operating system. If you run UDO on a MS-DOS computer UDO expects text
files that are written with the IBM PC character set by default. If
UDO runs on an Atari computer UDO will expect the TOS character set by
default.
But UDO can manage file that are written with another character set,
too. You have simply to tell UDO which character set your source file
uses with the following commands:
!code_dos: IBM-PC, MS-DOS
!code_hp8: HP Roman 8
!code_iso: ISO Latin 1, Windows ANSI
!code_mac: Apple Macintosh
!code_tos: Atari ST
There are some things you have to remember. Some character sets
contain characters that aren't available in another one. So you
shouldn't use characters from the PC graphic character set or the
Hebraic characters of the Atari character set because they can't be
printed in formats like LaTeX, Windows Help, RTF or HTML. In this case
UDO prints an error message. You should remove these characters from
your source file and find another solution.
If source files are converted that don't use the character set of the
operating system UDO is running on the limitations are even higher. In
the first step UDO will convert the characters into ISO Latin 1. In
the second step UDO will convert the ISO Latin 1 characters into the
character set of the current operating system. In some cases there's
is no possibility to convert the characters without any loss. In such
a case UDO will print an error message.
Please note: If I've forgotten any character or a character is
converted in a wrong way please send a bug report!
6.6 Syllabification
====================
UDO supports a semi-automatic syllabification for ASCII, ST-Guide,
Pure C Help and Manualpage. "Semi-automatic" means that you have to
tell UDO at which position a word can be divided into two pieces.
You have two possibilities to set the syllabification patterns:
1. Local definition ("!-")
2. Global definition using the !hyphen command
When converting to LaTeX the marks will be replaced by "\-". Then
LaTeX knows that a word can be split at these positions.
When converting to RTF, Windows Help and HTML the marks are deleted.
If you want to display !- you have to use !/-.
6.6.1 Local definition of syllabification patterns
---------------------------------------------------
You can set the syllabification marks in the source file using "!-". At
these marks UDO is allowed to split up a word. A short example:
semi-automatic syl!-labi!-fi!-cation
When converting to LaTeX UDO replaces all "!-" by "\-". So it would look
like "syl\-labi\-fi\-cation".
Converting to ASCII, ST-Guide, Pure C Help and Manualpage the word is
split up into different parts if it doesn't have enough place at the
end of a line. So it can look like "syl- labification", "syllabi-
fication" or "syllabifi- cation"
When converting to other formats the marks are simply deleted.
6.6.2 Global definition of syllabification patterns
----------------------------------------------------
You can set these marks at the beginning of a source file with the
!hyphen command for often used words. "Global" means that you only
have to define the marks once.
If a word hasn't enough place at the end of a line when converting to
ASCII, ST-Guide, Pure C Help or Manualpage UDO looks for a global
definition in its internal list.
In the following example I expect that the word "documentation" is
used many times in your source file:
!hyphen docu!-men!-ta!-tion
6.6.3 Short lines
------------------
When converting to ASCII, Pure C Help, ST-Guide or Manualpage UDO can
generate a relative regular right margin due to its semi-automatic
syllabification.
The right margin becomes irregular when long words haven't enough
place at the end of a line. UDO will print a warning containing the
specific word and you should try to insert some syllabification marks.
Please note:
The command !sloppy switches of these warnings, !fussy switches them
back on. While developing a documentation you should use !sloppy. At
the end of developing a text you should comment this switch and you
should look after warnings according short lines.
6.7 Images
===========
UDO enables you to include images into your destination format if it
supports images like ST-Guide, LaTeX, HTML and Windows Help. This
chapter explains how to include images into a destination file and
what destination commands UDO generates.
To display an image you can use the !image command. You have to add
the name of the image without suffix and an optional image title.
To display images right inside the text you can use the placeholder
(!img ..) when converting into Windows Help or HTML. The other formats
don't allow to use images inside the text or it is so difficult that
UDO can't automatize it.
Since Release 6 images will not be centred in all cases. To display a
centred image you have to insert the !image command into a center en-
vironment. To display a right justified image you have to insert the
!image command inside a flushright environment. In all other cases
images will be displayed left justified.
6.7.1 *.img & ST-Guide
-----------------------
Example: !image tiger A tiger
UDO opens the file tiger.img and reads the size of this image. A
special ST-Guide command called @limage is generated and the needed
parameters are calculated due to the information of the GEM image
header.
If you want to display a subtitle add it right after the name of the
image file. This subtitle will look like "(Figure x: A tiger)".
6.7.2 *.img & Lindner-TeX
--------------------------
If you are using Lindner-TeX and you want to include a GEM image into
your DVI file you have to add !tex_lindner to your preamble.
UDO replaces the tool called IMGTOTEX that is part of Lindner-TeX. UDO
has all functions of this tool built in.
To set the size of an image you have to use the !tex_dpi command. An
example:
!tex_dpi 100
!image tiger A GEM image
UDO reads in the header of tiger.img, calculates its size and adjusts
the header to 100 dpi. In the destination file a TeX macro will be
generated that includes this image and displays it with 100 dpi.
Please note: Using 100 dpi screenshots are displayed in the original
screen size on my HP DeskJet 510. !tex_dpi can be used before any
image. If you are using an image more than once you shouldn't try to
display it in different resolutions. Use a copy of your image instead
and display the original one with the first and the copy with the
second resolution.
6.7.3 *.img & CS-TeX/MultiTeX
------------------------------
If you are using CS-TeX or MultiTeX and you want to include a GEM
image into your DVI file you have to add !tex_strunk to your preamble.
Because the drivers of CS-TeX support the macros of Lindner-TeX the
same is done here as in the upper section.
6.7.4 *.msp & emTeX
--------------------
If you are using emTeX and you want to include an MSP image to your
DVI file you have to add !tex_emtex to your preamble. Furthermore you
have to set the resolution of an image via !tex_dpi.
The macros for emTeX are generated according to the information of
dvidrv.doc of emTeX.
In first place UDO tries to read in the header of tiger.msp when
reading the command !image tiger A tiger. If UDO doesn't find
tiger.msp it will try to find tiger.pcx.
An example shows what kind of macro UDO generates for emTeX. `w' and
`h' represent the width and height of the image:
\begin{figure}[htb]
\begin{...}
\begin{picture}(,)
\put(0,){\special{em:graph tiger.msp}}
\end{picture}
\end{...}
\caption{A tiger}
\end{figure}
Please note: I use !tex_dpi 300 on my HP DeskJet 510 to display
screenshots.
6.7.5 *.pcx & emTeX
--------------------
If you are using emTeX and you want to include a Paintbrush PCX to
your DVI file you have to add !tex_emtex to your preamble. Furthermore
you have to set the resolution of an image via !tex_dpi.
The macros for emTeX are generated according to the information of
dvidrv.doc of emTeX.
In first place UDO tries to read in the header of tiger.msp when
reading the command !image tiger A tiger. If UDO doesn't find
tiger.msp it will try to find tiger.pcx.
An example shows what kind of macro UDO generates for emTeX. `w' and
`h' represent the width and height of the image:
\begin{figure}[htb]
\begin{...}
\begin{picture}(,)
\put(0,){\special{em:graph tiger.pcx}}
\end{picture}
\end{...}
\caption{A tiger}
\end{figure}
Note: In first place UDO tries to find an MSP image. If you are using
images from Paintbrush PCX you can ignore the warning printed by UDO.
6.7.6 *.gif & HTML
-------------------
UDO can generate HTML commands to include a GIF. UDO doesn't check if
the GIF is existing!
For HTML the second parameter of the !image command will be used as
the alternative text. The command !image tiger A tiger will be
converted into the following HTML commands:
If you don't set the title of this image UDO doesn't output an
alternative text. The command !image tiger will be converted into
this:
6.7.7 *.jpg & HTML
-------------------
By default UDO expects that you want to display GIF's (see above). But
it's possible to display any other kind of image format, too.
To tell UDO which suffix you want to use the next time you use the
!image command you can use the command !html_img_suffix.
If the upper tiger isn't inside a GIF but inside a JPEG image you can
insert the following command right before the !image command:
!html_img_suffix jpg
If the file is named tiger.jpeg instead of tiger.jpg use the following
line:
!html_img_suffix jpeg
The setting is used for all following images. If you want to display a
GIF next time you have to use !html_img_suffix gif before the next
!image command is used.
6.7.8 *.bmp & WinHelp
----------------------
UDO can generate commands for Windows Help to display Windows bitmaps
(BMP). UDO doesn't check if a BMP is existing!
An image can be displayed with or without a subtitle. Windows Help
centers the image in the help file.
1. without subtitle: !image tiger
2. with subtitle: !image tiger A tiger
UDO will then generate these commands:
{\qc \{bmc tiger.bmp\}}\par\pard
\par
{\qc (Figure 1: A tiger)}\par\pard
Please note:
1. UDO won't check if the image file is existing. If it doesn't
exists or the filename is wrong the Microsoft Helpcompiler will
print an error message.
2. With the switch !win_inline_bitmaps you can tell UDO to use
special Windows Help commands to use "hard-coded" images.
6.8 Hypertext commands
=======================
6.8.1 Labels
-------------
Using the command !label you can set labels inside the source file. An
example:
!label example
When converting to the hypertext formats Windows Help, HTML, ST-Guide
and Pure C Help UDO inserts references inside the text to this label
automatically. You can search for these labels inside the search
dialog of Windows Help.
When you set the upper label you can jump from every position where
the word "example" is used to the position where you used the label.
Here a list how UDO converts a label for the hypertext formats:
HTML:
LaTeX: \label{example}
Linuxdoc-SGML: